package com.hy.mydesktop.client.mvc.base;

import com.extjs.gxt.ui.client.mvc.AppEvent;
import com.extjs.gxt.ui.client.mvc.Controller;
import com.extjs.gxt.ui.client.mvc.View;
import com.google.gwt.user.client.ui.HasWidgets;
import com.hy.mydesktop.client.mvc.desktop.ShortcutPresenter.Display;
import com.hy.mydesktop.shared.util.log.MyLoggerUtil;

/**
 * 
 * 
 * <ul>
 * <li>开发作者：花宏宇</li>
 * <li>设计日期：2011-9-17；时间：下午12:14:57</li>
 * <li>类型名称：BasePresentAndView</li>
 * <li>设计目的：将Mvc中的，View和Mvp中的Presenter结合起来<br>
 * 1 具体的Presenter需要继承当前类BasePresenterAndView<br>
 * 2 其中View为ExtjsGwt的Mvc中的固定结构<br>
 * 3 包含属性BaseDisplay，所有具体的View，需要实现BaseDisplay接口</li>
 * </ul>
 * <ul>
 * <b>修订编号：</b>
 * <li>修订日期：</li>
 * <li>修订作者：</li>
 * <li>修订原因：</li>
 * <li>修订内容：</li>
 * </ul>
 */
public abstract class BasePresenterAndView extends View implements Presenter{

	
	public BasePresenterAndView(Controller controller, BaseDisplay display) {
		super(controller);
		this.display = display;

	}

	protected BaseDisplay display;

	@Override
	public  BaseDisplay getDisplay(){
		return display;
	}

	@Override
	protected void handleEvent(AppEvent event) {
		// TODO Auto-generated method stub
		
	}

	public BasePresenterAndView(Controller controller) {
		super(controller);
		// TODO Auto-generated constructor stub
	}

	@Override
	public void go(HasWidgets container) {
		// TODO Auto-generated method stub

	}

	@Override
	public abstract void bind();
	
	protected void printPresenterForInit(Class className) {
		MyLoggerUtil.printPresenterDebugForInit(className);

	}
}
